

#ifndef _UTIL_DATADEF_H_
#define _UTIL_DATADEF_H_
#pragma pack(1)

typedef struct{
	float_t x;
	float_t y;
}_xy_t;


typedef struct{
	float_t x;
	float_t y;
	float_t z;
}_xyz_t;


typedef struct{
	float_t x;
	float_t y;
	float_t z;
	float_t w;
}_xyzw_t;


typedef struct {
	float_t r;
	float_t g;
	float_t b;
	float_t a;
}_rgba_t;

typedef struct {
	float_t r;
	float_t g;
	float_t b;
}_rgb_t;

typedef struct {
	float_t u;
	float_t v;
}_uv_t;

/*
1	2	3	4
5	6	7	8
9	10	11	12
13	14	15	16
*/
typedef struct
{
	union
	{
		struct
		{
			float_t _00, _01, _02, _03;
			float_t _10, _11, _12, _13;
			float_t _20, _21, _22, _23;
			float_t _30, _31, _32, _33;
		};

		float_t elem[16];	
	};
}matrix4x4_t;


typedef _xy_t point2_t;
typedef _xyz_t point3_t;
typedef _xyzw_t point4_t;
typedef _xyz_t vector3_t;






typedef struct {
	BYTE    b;
	BYTE    g;
	BYTE    r;
	BYTE    a;
}rcolor_t;

typedef struct{
	int_t    x;
	int_t    y;
}rpoint_t;

typedef struct {
	int_t    left;
	int_t    top;
	int_t    right;
	int_t    bottom;
}rrect_t;


#pragma pack()
#endif //_UTIL_DATADEF_H_